package com.common.account.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.common.basis.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 租户信息
 *
 * @author mdc
 * @date 2021-10-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Tenant extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 登录名称
     */
    private String loginName;

    /**
     * 统一信用代码
     */
    private String creditCode;

    /**
     * 机构名称
     */
    private String officeName;

    /**
     * 经办人真实姓名
     */
    private String actualName;

    /**
     * 经办人身份证号
     */
    private String identityCard;

    /**
     * 经办人手机号
     */
    private String phone;

    /**
     * 法人类型
     */
    private String legalPersonType;

    /**
     * 法定代表人
     */
    private String legalPerson;

    /**
     * 法人身份证号
     */
    private String legalPersonIdentityCard;

    /**
     * 法人手机号
     */
    private String legalPersonPhone;

    /**
     * 公司地址
     */
    private String companyAddress;

    /**
     * 邮政编码
     */
    private String postalCode;

    /**
     * 审核人
     */
    private String reviewer;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态 1：待审核，2：审核通过，3：审核不通过
     */
    private Integer status;

    /**
     * 在职员工数
     */
    private Integer numberOfEmployees;

    /**
     * 专职安全管理人员数量
     */
    private Integer numberOfSecurity;

    /**
     * 登记日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate registrationDate;

    /**
     * 登记机关
     */
    private String registrationAuthority;

    /**
     * 经济类型
     */
    private String economicType;

    /**
     * 安全负责人
     */
    private String safetyOfficer;

    /**
     * 安全负责人联系电话
     */
    private String safetyOfficerPhone;

    /**
     * 小程序ID
     */
    private String openId;

    /**
     * js代码
     */
    @TableField(exist = false)
    private String jsCode;
}
